package com.dragon.pear.modules.trade.web.model.params.order;

import io.swagger.v3.oas.annotations.media.Schema;

/**
 * @author Chris Chan
 * Create on 2025-09-30 22:06
 * Use for: 心愿 数据排序请求参数
 * Explain:
 * 所有字段取值规则：-1 降序，0 不排序，1 升序
 */
@Schema(description = "心愿 排序参数")
public class TradeUserWishOrderParam {
    @Schema(description = "ID", example = "1")
    private int id;
    @Schema(description = "用户账号", example = "1")
    private int accountCode;
    @Schema(description = "商品分类编码", example = "1")
    private int cateCode;
    @Schema(description = "商品分类标签", example = "1")
    private int cateLabel;
    @Schema(description = "商品匹配关键词", example = "1")
    private int goodsWords;
    @Schema(description = "地址匹配关键词", example = "1")
    private int addressWords;
    @Schema(description = "创建时间", example = "1")
    private int time;
    @Schema(description = "过期时间", example = "1")
    private int expireTime;

    // 无参构造方法
    public TradeUserWishOrderParam() {
    }

    // 全参数构造方法
    public TradeUserWishOrderParam(int id, int accountCode, int cateCode, int cateLabel, int goodsWords, int addressWords, int time, int expireTime) {
        this.id = id;
        this.accountCode = accountCode;
        this.cateCode = cateCode;
        this.cateLabel = cateLabel;
        this.goodsWords = goodsWords;
        this.addressWords = addressWords;
        this.time = time;
        this.expireTime = expireTime;
    }

    // 全参数create生成器
    public static TradeUserWishOrderParam create(int id, int accountCode, int cateCode, int cateLabel, int goodsWords, int addressWords, int time, int expireTime) {
        return new TradeUserWishOrderParam(id, accountCode, cateCode, cateLabel, goodsWords, addressWords, time, expireTime);
    }

    // 全参数of生成器
    public static TradeUserWishOrderParam of(int id, int accountCode, int cateCode, int cateLabel, int goodsWords, int addressWords, int time, int expireTime) {
        return new TradeUserWishOrderParam(id, accountCode, cateCode, cateLabel, goodsWords, addressWords, time, expireTime);
    }
    // region Getter和Setter方法
    public int getId() {
        return id;
    }

    public TradeUserWishOrderParam setId(int id) {
        this.id = id;
        return this;
    }

    public int getAccountCode() {
        return accountCode;
    }

    public TradeUserWishOrderParam setAccountCode(int accountCode) {
        this.accountCode = accountCode;
        return this;
    }

    public int getCateCode() {
        return cateCode;
    }

    public TradeUserWishOrderParam setCateCode(int cateCode) {
        this.cateCode = cateCode;
        return this;
    }

    public int getCateLabel() {
        return cateLabel;
    }

    public TradeUserWishOrderParam setCateLabel(int cateLabel) {
        this.cateLabel = cateLabel;
        return this;
    }

    public int getGoodsWords() {
        return goodsWords;
    }

    public TradeUserWishOrderParam setGoodsWords(int goodsWords) {
        this.goodsWords = goodsWords;
        return this;
    }

    public int getAddressWords() {
        return addressWords;
    }

    public TradeUserWishOrderParam setAddressWords(int addressWords) {
        this.addressWords = addressWords;
        return this;
    }

    public int getTime() {
        return time;
    }

    public TradeUserWishOrderParam setTime(int time) {
        this.time = time;
        return this;
    }

    public int getExpireTime() {
        return expireTime;
    }

    public TradeUserWishOrderParam setExpireTime(int expireTime) {
        this.expireTime = expireTime;
        return this;
    }

    // endregion Getter和Setter方法
}
